#ifndef _KH_ENGINE_DRAWABLE_H
#define _KH_ENGINE_DRAWABLE_H
#include <Kharlia/Engine/Common.h>

namespace kharlia { namespace engine {

class FRenderInfo {
public:
    virtual ~FRenderInfo() {}
};

class KH_ENGINE_API FDrawable {
    scoped_ptr<FRenderInfo> mRenderInfo;
    bool mRenderInfoInvalid;

public:
    FDrawable(): mRenderInfo(), mRenderInfoInvalid(false) {}
    virtual ~FDrawable() {}

    inline bool GetRenderInfoInvalid() const { return mRenderInfoInvalid; }
    inline void SetRenderInfoInvalid(bool value) { mRenderInfoInvalid = value; }
    inline FRenderInfo* GetRenderInfo() const { return mRenderInfo.get(); }
    inline void SetRenderInfo(FRenderInfo* value) { mRenderInfo.reset(value); }
};

}}

#endif